package com.lpit.result;

import lombok.Data;

import java.io.Serializable;

/**
 * @author Administrator
 */
@Data
public class ResponseResult<T> implements Serializable {
    /**
     * 主机名称
     */
    private String host;
    /**
     * 状态码
     * 100 Continue：服务器已接收到请求的头部，并且客户端可以继续发送请求体部分。
     * 101 Switching Protocols：服务器同意进行协议切换。
     * 200 OK：请求已成功处理。
     * 201 Created：请求已成功处理，并创建了新的资源。
     * 204 No Content：请求已成功处理，但响应体没有数据。
     * 301 Moved Permanently：请求的资源已永久移动到新的URL。
     * 302 Found：请求的资源已暂时移动到新的URL。
     * 304 Not Modified：请求的资源未修改，可以使用缓存版本。
     * 400 Bad Request：请求无效，包含语法错误。
     * 401 Unauthorized：请求需要用户认证。
     * 404 Not Found：请求的资源未找到。
     * 500 Internal Server Error：服务器内部错误。
     * 503 Service Unavailable：服务器暂时无法处理请求。
     */
    private Integer code;
    /**
     * 相应的信息
     */
    private String errMsg;
    /**
     * 响应体
     */
    private T data;
    public ResponseResult() {
    }

    public ResponseResult(T data) {
        this.code = 200;
        this.data = data;
    }

    public ResponseResult(T data, String errMsg) {
        this.code = 200;
        this.data = data;
        this.errMsg = errMsg;
    }

    public ResponseResult(Integer code, T data, String msg) {
        this.code = code;
        this.data = data;
        this.errMsg = msg;
    }

    public ResponseResult(String host, Integer code, String errMsg, T data) {
        this.host = host;
        this.code = code;
        this.errMsg = errMsg;
        this.data = data;
    }
}
